package com.zzyl.mapper;

import com.github.pagehelper.Page;
import com.zzyl.dto.UserDto;
import com.zzyl.entity.User;
import com.zzyl.vo.UserVo;
import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Set;

@Mapper
public interface UserMapper {
    /**
     * 用户分页
     * @param userDto
     * @return
     */
    Page<UserVo> selectByPage(UserDto userDto);

    /**
     * 用户添加
     * @param user
     */
    void insert(User user);

    /**
     * 用户修改
     * 启用禁用
     * 删除用户
     * 密码修改
     * @param user
     * @return
     */
    Boolean update(User user);

    /**
     * 删除用户相关角色信息
     * @param id
     */
    @Delete("delete from sys_user_role where user_id = #{id}")
    void deleteByUserId(Long id);


    /**
     *
     * 启用禁用查询用户所有信息
     * @param id
     * @return
     */
    @Select("select * from sys_user where id = #{id}")
    User getById(Long id);

    /**
     * 用户列表查找
     * @param user
     * @return
     */

    List<UserVo> findAll(User user);
}
